package br.com.dallasmotopecas.conhecimento.principal;

import java.io.Serializable;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import br.com.dallasmotopecas.util.exception.DirecionamentoPaginaException;
import br.com.dallasmotopecas.util.managerbean.AbstractManagerBean;

@ManagedBean(name="conhecimentoManagerBean")
@RequestScoped
public class ConhecimentoManagerBean extends AbstractManagerBean implements Serializable
{
	private static final long serialVersionUID = 1L;
	private static final int MAPA_MENTAL_VENDA = 1;
	private static final int RELATORIO_VENDAS_POR_VENDEDOR = 10;
	private static final int RELATORIO_AGENDA_POR_VENDEDOR = 11;
	private static final int RELATORIO_VENDA_MENSAL_VENDEDOR = 12;
	private static final int SAIR_MODULO_CONHECIMENTO = 20;
	
	public ConhecimentoManagerBean()
	{
		
	}
	
	@PostConstruct
	private void inicializar()
	{
		try
		{
			if (!isUsuarioLogado())
			{
				redirecionarPagina("/Index.jsf");
				return;
			}
			processaPermissaoUsuario(getUsuarioLogado());
		}
		catch(DirecionamentoPaginaException e)
		{
			processarMensagem(MENSAGEM_FATAL, e.getMessage());
		}
	}
	
	public void processaMenuConhecimento(int acao)
	{
		try
		{
			switch(acao)
			{
				case MAPA_MENTAL_VENDA:
				{
					redirecionarPagina("/view/conhecimento/mindmap/MindMapVendas.jsf");
					break;
				}
				case RELATORIO_VENDAS_POR_VENDEDOR:
				{
					redirecionarPagina("/view/conhecimento/venda/ManagerVendedor.jsf");
					break;
				}
				case RELATORIO_AGENDA_POR_VENDEDOR:
				{
					redirecionarPagina("/view/conhecimento/venda/ManagerAgendaVendedor.jsf");
					break;
				}
				case RELATORIO_VENDA_MENSAL_VENDEDOR:
				{
					redirecionarPagina("/view/conhecimento/relatorio/RelatorioVendaMensal.jsf");
					break;
				}
				case SAIR_MODULO_CONHECIMENTO:
				{
					redirecionarPagina("/view/Principal.jsf");
					break;
				}
				default:
				{	
					redirecionarPagina("/view/Principal.jsf");
					break;
				}
			}
		}
		catch(DirecionamentoPaginaException e)
		{
			e.printStackTrace();
			processarMensagem(MENSAGEM_FATAL, e.getMessage());
		}
	}

}
